home *** CD-ROM | disk | FTP | other *** search
- Path: slwol1p47.ozemail.com.au!user
- From: jmaling@ozemail.com.au (John Maling)
- Newsgroups: comp.lang.eiffel,comp.lang.c,comp.lang.c++,comp.object,comp.software-eng
- Subject: Re: Beware of "C" Hackers -- A rebuttal to Bertrand Meyer
- Date: Sat, 23 Mar 1996 04:13:01 +1000
- Organization: Zip Nada and Zero, Attorneys at Law
- Message-ID: <jmaling-2303960413010001@slwol1p47.ozemail.com.au>
- References: <1995Jul3.034108.4193@rcmcon.com> <RMARTIN.96Mar15094448@rcm.oma.com> <bksDoE2Fu.GBp@netcom.com> <653t-Df-3RB@herold.franken.de> <bksDoFwBA.Eut@netcom.com>
- NNTP-Posting-Host: slwol1p47.ozemail.com.au
- X-Newsreader: Value-Added NewsWatcher 2.0b24.0+
-
- In refeference to the Dr Meyer quote, as duplicated by Robert Martin in
- message <RMARTIN.96Mar15094448@rcm.oma.com> (I wont repeat it again), this
- is my opinion.
-
- I believe C is an old language (examples of it may have been discovered on
- temples that predate the Roman Empire). Seriously though, my first
- experiances with programming PC's was in 1982. Back then, when I looked at
- what language I was going to initialy learn, there was C and Pascal. C was
- undergoing the same 'push' that OO is undergoing now. It created
- comparitivly faster and smaller executables than Pascal, it was a high
- level language with lower level hooks and its libs were better optimised
- (why you could save a whole 8K!). It became (in books and the press of the
- time) The Way of The Future, precisly because of this- and *possibly*
- because it was popularly believed UNIX was going to take over the world
- (even down to PC's), and C was its anointed disciple.
-
- Back then the most admirable thing was to squeeze the fastest code into
- the smallest executable space, and 'Readability, Provability and
- Extendibility' sat in the back seat, if they traveled together at all (at
- least it worked this way for PC programming, perhaps those with the 'vast'
- resources of mainframes could afford a more structured approach?). Does
- anyone remember the bizarre 'one line program' competitions of the early
- 80's? Those where you had to create a program in 255 bytes?
-
- I chose to learn Pascal, I thought the C language was too much like a
- chainsaw, and I doubted UNIX's ability to take over the world (and did not
- want to program in a world where it did). The potential to wield C in just
- the way Dr Meyer describes was obvious. Of course that did not mean that
- you *would* use it that way, you can write C with as much control as
- Pascal, but since it *could* be done it was a natural choise for those who
- wanted to go the path Dr Meyer illustrates.
-
- This, I think, is where Dr Meyer puts the cart before the horse. C was
- never inherantly evil, it was just the obvious language of choise for
- those who wanted to use it in 'hack' ways, though I would argue that the
- uses were not themselves bad, just necesary for the speed and space
- demands of the day.
-
- Perhaps it could be reasonably said that the nasty practices Dr Meyer
- mentions were necesary practices in the early 80's, but now I find it very
- difficult to believe that there are still so many of these so called 'C
- Hackers' running around that their presence needs to be commented on.
- Nasty practises can be achieved in any language, I seriously wonder what
- Dr Meyer makes of bad OO designers who never had a C background. It seems
- to me that hardware has way outpaced software since then. It needs to be
- written by teams now, not by uncontroled genius mavericks working solo,
- and OO programming is the anointed disciple of team programming (and
- rightly so).
-
- Up until a couple of months ago, OOD&P remained a curious mystery to me.
- My logic centres were set way deep for structured programming. People
- preaching OOD&P as 'THE WAY' left me stone cold- I thought it just another
- language bigotry thing.
-
- However, since then I have 'seen the light'. OOP is indeed The Way (at
- least until something better is created). I was converted by <free plug
- time> Robert Martins book, 'Designing Object-Oriented C++ Applications
- using the Booch method.' I had periodically read books on OOD and always
- missed the point, but Martins book lit my head up like a Christmas tree. I
- had one of those 'Ahhhh!' experiences. Quite literally, I woke up sleepily
- one early morning- sat on the edge of the bed, and suddenly the whole
- concept of what makes OOD so good just hit me. Any parent of a newborn
- whose baby cries in the night knows well the effect of being transformed
- from sleep to hyper-alertness in a split second. It is not a pleasent
- sensation. Nevertheless that was the effect on me when OOD principles
- finaly clicked for me.
-
- So I can understand what Meyers means by 'serious debriefing', it was only
- after my notions of structured programming logic were deeply suppressed
- that I was able to accept what OOD&P means (I believe in Zen this is known
- as emptying the glass), and my appreciation of the value of OOD&P came all
- at once. At the time I also had the insight that C++ is not an ideal OOP
- environment. However, nodding my head in the direction of the QWERTY
- keyboard and 90% of PC's I have chosen to study C++.
-
- However, Dr Meyer setting this up as a religious issue appeals to the gut,
- not to the brain. All he seems to do is cast a light into a pit of C
- 'hacks' and a spotlight on the pedestal of OOD&P, and say, in effect, that
- those in the pit are in hell and do not know it, and those who are dragged
- up, or drag themselves up, resent it and/or are unable to effectively
- embrace OOD&P. I say kick this concept over to 'C++ beats the crap out of
- Ada' or some such. Thats a thread from hell if ever I saw one.
-
- In summary I think Dr Meyer needs to come back to the future.
-
- Oh, and about this 'hack' thing....Grief! What is the point arguing about
- the meaning of 'hack/er/s'? You can deduce what Dr Meyer means because he
- defines what 'C hack' means to him. You don't have to agree or disagree
- with the definition to argue whether his conceptualisation is flawed or
- not. Dictionary meanings do change with common usage, even if you dont
- like what they change into, much as 'hacker' has changed.
-
- After three days without programming life becomes meaningless. <unknown>
-